!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="33f5f812-50e2-4a0b-b3ff-8fc6df5a082a",e._sentryDebugIdIdentifier="sentry-dbid-33f5f812-50e2-4a0b-b3ff-8fc6df5a082a")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[206],{48444:function(e,t){"use strict";function r(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, not ${e}`)}function s(e){if("boolean"!=typeof e)throw Error(`boolean expected, not ${e}`)}function n(e){return e instanceof Uint8Array||null!=e&&"object"==typeof e&&"Uint8Array"===e.constructor.name}function i(e,...t){if(!n(e))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function o(e){if("function"!=typeof e||"function"!=typeof e.create)throw Error("Hash should be wrapped by utils.wrapConstructor");r(e.outputLen),r(e.blockLen)}function a(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function l(e,t){i(e);let r=t.outputLen;if(e.length>>0);t.toBig=o;let a=(e,t,r)=>e>>>r;t.shrSH=a;let l=(e,t,r)=>e<<32-r|t>>>r;t.shrSL=l;let h=(e,t,r)=>e>>>r|t<<32-r;t.rotrSH=h;let u=(e,t,r)=>e<<32-r|t>>>r;t.rotrSL=u;let c=(e,t,r)=>e<<64-r|t>>>r-32;t.rotrBH=c;let d=(e,t,r)=>e>>>r-32|t<<64-r;t.rotrBL=d;let p=(e,t)=>t;t.rotr32H=p;let f=(e,t)=>e;t.rotr32L=f;let m=(e,t,r)=>e<=32&&t<=126)switch(1===u?(h+=i,u=0):2===u&&(h+=l,u=0),t){case 32:h+=" ";break;case 60:h+="<";break;case 62:h+=">";break;case 38:h+="&";break;case 34:h+=""";break;case 39:h+="'";break;case 92:h+="\";break;default:h+=String.fromCharCode(t)}else 9===t||10===t||13===t?(0===u?(h+=n,u=1):2===u&&(h+=l+n,u=1),9===t&&(h+="TAB"),10===t&&(h+="LF"),13===t&&(h+="CR")):(0===u?(h+=a,u=2):1===u&&(h+=i+a,u=2),h+=`\\x${o.utils.charToHex(t)}`)}2===u&&(h+=l),1===u&&(h+=i);break}return h},g=function(e,t,r){let s="";for(let n=t;n
\n"},x=function(e,t,r,s){let[n]=o,i="",a=`»`;return i+=`
`,e.forEach(e=>{t+=`line
no.first
char
length
text
`}),t+="${e.lineNo} ${e.beginChar} ${e.length} ${m(i.chars,e.beginChar,e.length)}
`,s&&"string"==typeof s&&(i+=`
\n",e.forEach(e=>{let s,n,l,h,u;let c="",d="";0===t.length?(u=a,n=0):(l=(s=t[e.line]).beginChar,e.char>l&&(c=m(r,l,e.char-l)),(l=e.char)<(h=s.beginChar+s.length)&&(d=m(r,l,h-l)),u=c+a+d,n=e.char-s.beginChar,i+=`line
no.line
offseterror
offset
text${e.line} ${s.beginChar} ${n} ${u}
`)}),i+="↑: ${o.utils.stringToAsciiHtml(e.msg)}
ops | EMPTY | MATCH | NOMATCH | totals |
---|
(a) | (b) | (c) | (d) | (e) | (f) | operator | phrase |
---|---|---|---|---|---|---|---|
${i} | ${l} | ${y.phraseIndex} | ${y.phraseLength} | ${y.depth} | `,y.state){case n.ACTIVE:g+=`↓ `;break;case n.MATCH:g+=`↑M`;break;case n.NOMATCH:g+=`↑N`;break;case n.EMPTY:g+=`↑E`;break;default:g+=`--`}if(g+=" | "+o.indent(y.depth),h?g+=``:u&&(g+=``),g+=e.opcodeToString(y.opcode.type),y.opcode.type===n.RNM&&(g+=`(${f[y.opcode.index].name}) `),y.opcode.type===n.BKR){let e=y.opcode.bkrCase===n.BKR_MODE_CI?"%i":"%s",t=y.opcode.bkrMode===n.BKR_MODE_UM?"%u":"%p";g+=`(\\${e}${t}${f[y.opcode.index].name}) `}(y.opcode.type===n.UDT&&(g+=`(${m[y.opcode.index].name}) `),y.opcode.type===n.TRG&&(g+=`(${C(r,y.opcode)}) `),y.opcode.type===n.TBS&&(g+=`(${O(r,y.opcode)}) `),y.opcode.type===n.TLS&&(g+=`(${L(r,y.opcode)}) `),y.opcode.type===n.REP&&(g+=`(${M(r,y.opcode)}) `),c&&(g+=""),g+=" | ",u)?g+=$(r,p,y.state,y.phraseIndex,y.phraseLength,d):h?g+=R(r,p,y.state,y.phraseIndex,y.phraseLength,``):g+=R(r,p,y.state,y.phraseIndex,y.phraseLength,``),g+=" |
(a) | (b) | (c) | (d) | (e) | (f) | operator | phrase |
legend:
(a) - line number
(b) - matching line number
(c) - phrase offset
(d) - phrase length
(e) - tree depth
(f) - operator state
- ↓ phrase opened
- ↑M phrase matched
- ↑E empty phrase matched
- ↑N phrase not matched
operator - ALT, CAT, REP, RNM, TRG, TLS, TBS†, UDT, AND, NOT, BKA, BKN, BKR, ABG, AEN‡
phrase - up to 80 characters of the phrase being matched
- matched characters
- matched characters in look ahead mode
- matched characters in look behind mode
- remainder characters(not yet examined by parser)
- control characters, TAB, LF, CR, etc. (ASCII mode only)
- ${v} empty string
- ${b} end of input string
- ${x} input string display truncated
†original ABNF operators:
ALT - alternation
CAT - concatenation
REP - repetition
RNM - rule name
TRG - terminal range
TLS - terminal literal string (case insensitive)
TBS - terminal binary string (case sensitive)
‡super set SABNF operators:
UDT - user-defined terminal
AND - positive look ahead
NOT - negative look ahead
BKA - positive look behind
BKN - negative look behind
BKR - back reference
ABG - anchor - begin of input string
AEN - anchor - end of input string
${new Date}
`+e+"\n\n"},t.parserResultToHtml=function(e,t){let r,n,i=null;"string"==typeof t&&""!==t&&(i=t),r=!0===e.success?`true`:`false`,n=e.state===o.EMPTY?`EMPTY`:e.state===o.MATCH?`MATCH`:e.state===o.NOMATCH?`NOMATCH`:`unrecognized`;let a="";return a+=`state item | value | description |
---|---|---|
parser success | ${r} | true if the parse succeeded,
false otherwise NOTE: for success, entire string must be matched |
parser state | ${n} | EMPTY, MATCH or NOMATCH |
string length | ${e.length} | length of the input (sub)string |
matched length | ${e.matched} | number of input string characters matched |
max matched | ${e.maxMatched} | maximum number of input string characters matched |
max tree depth | ${e.maxTreeDepth} | maximum depth of the parse tree reached |
node hits | ${e.nodeHits} | number of parse tree node hits (opcode function calls) |
input length | ${e.inputLength} | length of full input string |
sub-string begin | ${e.subBegin} | sub-string first character index |
sub-string end | ${e.subEnd} | sub-string end-of-string index |
sub-string length | ${e.subLength} | sub-string length |